package com.atguigu.lease.web.admin.service;


import com.atguigu.lease.model.entity.ApartmentInfo;
import com.atguigu.lease.model.enums.ReleaseStatus;
import com.atguigu.lease.web.admin.vo.apartment.ApartmentDetailVo;
import com.atguigu.lease.web.admin.vo.apartment.ApartmentItemVo;
import com.atguigu.lease.web.admin.vo.apartment.ApartmentQueryVo;
import com.atguigu.lease.web.admin.vo.apartment.ApartmentSubmitVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.stereotype.Service;

/**
* @author 48138
* @description 针对表【apartment_info(公寓信息表)】的数据库操作Service
* @createDate 2025-07-05 14:18:49
*/

public interface ApartmentInfoService extends IService<ApartmentInfo> {

    IPage<ApartmentItemVo> pageApartmentItemByQuery(IPage<ApartmentItemVo> page, ApartmentQueryVo queryVo);

    void saveByApartmentSubmitVo(ApartmentSubmitVo apartmentSubmitVo);

    void updateByApartmentSubmitVo(ApartmentSubmitVo apartmentSubmitVo);

    ApartmentDetailVo getApartmentDetailVo(Long id);

    void saveOtherTables(ApartmentSubmitVo apartmentSubmitVo);

    void deleteOtherTablesByIds(Long id);
    ApartmentSubmitVo getProvinceAndCityAndDistrictInfo(ApartmentSubmitVo apartmentSubmitVo);

    void removeByIdAndOther(Long id);

    void updateStatus(Long id, ReleaseStatus status);

}
